#ifndef _STAGE_H_
#define _STAGE_H_

#include "vector3f.h"
#include <GL/glut.h>
#include <GL/glu.h>

#include <vector>

#define COR_ENVOLTORIA Vector3f(0,0.7,0)
#define COR_HORIZONTAL Vector3f(0,0,0.7)
#define COR_VERTICAL   Vector3f(0.7,0,0)
#define COR_CHAO       Vector3f(0.5,0.5,0.5)

class Stage {
	protected:
		std::vector<float> points;
		std::vector<float> colors;
		void rectangleZ(Vector3f supEsq, Vector3f infDir, Vector3f color, int sub, bool gambi = true);
		void rectangleY(Vector3f supEsq, Vector3f infDir, Vector3f color, int sub, bool gambi = true);

		void rectangleZv(Vector3f supEsq, Vector3f infDir, Vector3f color, int sub, bool gambi = true);
		void rectangleYv(Vector3f supEsq, Vector3f infDir, Vector3f color, int sub, bool gambi = true);
		
	public:
		Stage();
		virtual ~Stage() { }

		void draw();
};

#endif
